本文是学习GB-T 15425-2014 商品条码 128条码. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们
本标准规定了GS1 系统128条码(以下称GS1-128
条码)的结构、条码字符集、条码符号尺寸、质量
保证,以及 GS1-128 条码的应用参数、字符串编码和译码规则等内容。
本标准适用于商品条码系统中的自动识别和数据采集。
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 1988 信息技术 信息交换用七位编码字符集
GB/T 12508 光学识别用字母数字字符集 第二部分:OCR-B
字符集印刷图象的形状和尺寸
GB 12904 商品条码 零售商品编码与条码表示
GB/T 12905 条码术语
GB/T 14257 商品条码 条码符号放置指南
GB/T 16986 商品条码 应用标识符
GB/T 18347 128 条码
GB/T 18348 商品条码 条码符号印制质量的检验
GB12904、GB/T 12905 中界定的术语和定义适用于本文件,
GS1-128 条码符号的组成,由左至右如下所示:
a) 左侧空白区;
b) 双字符起始图形包括一个起始符(Start A、Start B或 Start C)和 FNC1
字符;
c) 表示数据和特殊字符的一个或多个条码字符(包括应用标识符);
d) 校验符;
e) 终止符;
f) 右侧空白区。
条码符号所表示的数据字符,以可供人识别的字符表示在符号的下方或上方。
GS1-128 条码符号的基本格式如图1所示。
GB/T 15425—2014
style="width:9.24003in;height:4.22664in" />
左侧空白区 右侧空白区
图 1 GS1-128 条码符号的基本格式
GS1-128 条码字符集见表1,其中单元宽度列中的数值表示模块的数目。
表 1 GS1-128 条码字符集 A、B、C
|
|
|
|
|
|
|
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
GB/T 15425—2014
表1(续)
|
|
|
|
|
|
|
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
GB/T 15425—2014
表1(续)
|
|
|
|
|
|
|
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
GB/T 15425—2014
表1(续)
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
GB/T 15425—2014
每个条码字符(终止符除外)由6个单元11个模块组成,包括3个条、3个空,每个条或空的宽度为
1个~4个模块。终止符由4个条、3个空共7个单元13个模块组成。
在条码字符中条的模块数为偶数,空的模块数为奇数,这一奇偶特性使每个条码字符都具有自校验
功能。
起始符 A 的符号表示见图2。
style="width:4.41336in;height:2.06668in" />
图 2 GS1-128 条码起始符为"Start A"的结构
条码字符值为35的符号表示见图3。35在字符集 A 或 B 中为"C", 在字符集 C
中为两位数字
“35”。
style="width:4.45332in;height:1.94656in" />
图 3 GS1-128 条码字符值为35的结构
终止符的符号表示见图4。
style="width:5.19326in;height:2.3001in" />
图 4 GS1-128 条码符号的终止符结构
GS1-128 条码的3个字符集 A、B、C见表1所示。其字符集与GB/T 18347
所示字符集相同。
字符集 A、B 和 C
给出了数据字符的条、空组合方式,字符集的选择依赖于起始符 Start A(Start B
或 Start C)、切换字符CODE A(B或 C) 或转换字符(SHIFT)
的使用。如果条码符号以起始符 START
A 开始,则最先确定了字符集 A; 如果条码符号以起始符 STARTB
开始,则最先确定了字符集 B;如果
条码符号以起始符STARTC 开始,则最先确定了字符集C。
通过使用切换字符CODE A(B或 C) 或转
换字符(SHIFT) 可以在符号中重新确定字符集(这些特殊字符的使用见4.2.4)。
通过使用不同的起始符、切换字符和转换字符,同一数据可表示为不同的 GS1-128
条码符号。
具体应用中无须规定所要使用的字符集。附录 A
给出了使任何给定数据的符号长度最小的规则及
GB/T 15425—2014
示例。译码器应能够通过与附录 A
中说明的起始符、切换和转换字符不同的有效组合来对符号进行
译码。
每个条码字符对应一个数值,见表1。该数值用于计算符号校验字符的值,同时也可用于与
ASCI
值之间的转换(参见附录B)。
4.2.4.1 字符集 A
字符集A
包括所有标准的大写英文字母、数字字符0~9、标点字符、控制字符(ASCII
值为00至95
的字符)和7个特殊字符。
4.2.4.2 字符集 B
字符集B
包括所有标准的大写英文字母、数字字符0~9、标点字符、小写英文字母字符(ASCII
值
为32~127的字符)和7个特殊字符。
4.2.4.3 字符集 C
字符集 C 包括100个两位数字00~99和3个特殊字符。采用字符集 C
时,每个条码字符表示两
位数字。
4.2.5.1 特殊字符范围
字符集 A 和字符集 B 的最后7个字符(字符值为96~102)和字符集 C
的最后3个字符(字符值为
100~102)是特殊的非数字字符,没有对应的ASCII
字符,它们对识读设备有特殊的意义。
4.2.5.2 切换字符(CODE 和转换字符(SHIFT)**
在一个GS1-128
条码符号中,切换字符和转换字符用于将一个字符集转换到另一个字符集,其中:
a) 切换字符
切换字符CODE A(CODEB或 CODEC)
将先前确定的字符集转换到切换字符所制定的新的
字符集 A (字符集 B 或字符集 C)。
这种转换适用于切换字符后面的所有字符,直至符号结束
或遇到另一个切换字符或转换字符。
b) 转换字符
转换字符SHIFT 将转换字符之后的一个字符从字符集 A 转换到字符集 B
或从字符集B 转换 到字符集 A。
在被转换字符后面的字符将自动恢复到转换字符前定义的字符集 A 或字符
集 B。
4.2.5.3 **功能字符(FNC
功能字符用于向条码识读设备指示所允许的特殊操作或应用,其中:
a) 起始符 Start A(Start B或 Start C)后面的 FNCl
是专门保留,用于标识GS1 系统的。 FNC1 可以作为校验符。
b) FNC2 (信息添加)用于指示条码识读设备,将包含 FNC2
字符的信息临时储存起来,作为下一
个符号内容的前缀传送。在传送前,有可能要链接几个符号。该字符可以出现在符号的任何
位置。如果数据的顺序是有意义的,则需要确定符号按正确的顺序识读。
c) FNC3 (初始化)用于指示条码识读设备,将包含 FNC3
字符的符号中的数据作为初始化指示或
GB/T 15425—2014
对条码识读器的重新编程。该字符可以出现在符号中的任何位置上。
d) FNC4 不在GS1 系统中使用。
4.2.5.4 起始符和终止符
起始符 Start A(Start B或 Start
C)定义了符号开始时使用的字符集。所有字符集的终止符 Stop
都是相同的。
校验符是条码符号终止符前面的最后一个字符,其计算方法见附录 C。
在供人识别的字符中不标
识校验符。
GS1-128 条码采用双字符起始符,其结构为:Start A(Start B或 Start C)+
FNCl。
这一双字符起始符号能够区分 GS1-128 条码和普通的128条码。
如果一个128条码以此双字符起始符号开始,则一定是一个GS1-128
条码符号;反之,则一定不是
GS1-128 条码符号。
FNC1
可以作为符号校验字符(可能性小于1%)。当把多个应用标识符及其数据域放在一个条码
符号中时,FNC1 作为分隔符使用。
Start A 使用GS1-128 条码以字符集 A 开始。
Start B 使用GS1-128 条码以字符集 B 开始。
Start C 使用GS1-128 条码以字符集 C 开始。 Start
C通常用于包括应用标识符在内的以4个或4
个以上的数字开始的数据。
最小模块宽度由具体应用的规范确定,并根据产品及识读设备的实用性决定,还要遵守应用的一般
要求。在GS1 应用环境中,最小的 X 尺寸为0.250 mm(0.00984 in),最大的 X
尺寸为1.016 mm
(0.040 in)。 每个应用都应说明一个X 尺寸的标称值和范围。
在一个给定的系统中X 尺寸应为一个始终不变的定值。
GS1-128 条码左右侧空白区的最小宽度为10X。
条码识读系统是为在实际算法允许范围内可以识读有缺陷的条码符号而设计的。在本节所描述的
参考译码算法中,可译码度的值的计算见4.5.2。
对每个条码字符译码的步骤如下:
a) 计算8个尺寸的宽度 p、ei、ez、e3、e₄、bi、b₂ 和 b₃ (见图5)。
GB/T 15425—2014
style="width:9.04006in;height:4.55334in" />
图 5 译码尺寸
b) 将ei、e₂、e₃ 和e 转换为一般尺寸值 E₁ 、E₂ 、E₃ 和E,
表示为模块宽度(X) 的整数倍。第i 个
值的计算方法如下:
如果1.5p/11≤e;\<2.5p/11, 则 E,= 2;
如果2.5p/11≤e;\<3.5p/11, 则 E;=3;
如果3.5p/11≤e;\<4.5p/11, 则 E;= 4;
如果4.5p/11≤e;\<5.5p/11, 则 E;= 5;
如果5.5p/11≤e,\<6.5p/11, 则 E;=6;
如果6.5p/11≤e;\<7.5p/11, 则 E;=7;
否则条码字符是错误的。
c) 以4个值E₁ 、E₂、E。和 E 为关键字在译码表中查找字符(见表2)。
d) 在表中找到该字符的自校验值V,V 的值应与该字符定义的条的模块数相等。
e) 核对下式:
(V- 1.75)p/11\<(b₁+b₂+b3)\<(V+1.75)p/11
如果不成立则字符是错误的。
该算法间接的用条码字符的奇偶性来发现非系统性的单个模块边缘的错误。
用以上5个步骤对第一个字符译码,如果第一个条码字符为起始符,则按从左至右的方向译码,如
果第一个条码字符不是起始符而是终止符,则将所有的条码字符序列按相反的方向译码。
当所有的条码字符都被译码之后,要确保一个有效的起始符,
一个有效的终止符和一个正确的符号
校验字符。
根据条码符号中使用的起始符、切换字符和转换字符,从字符集 A、字符集 B
或字符集 C 中将符号
的字符翻译为适当的数据字符。
注:在本符号算法中,运用从一个边缘到相似边缘的尺寸(e)和一个附加尺寸,即三个条宽的总和。
表 2 对128条码译码时的边缘误差
|
|
|
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GB/T 15425—2014
表2(续)
|
|
|
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GB/T 15425—2014
表 2 ( 续 )
|
|
|
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
条码符号检测和分级应按照 GB/T18348 的规定进行。
可译码度是测量译码算法测量值与符号理论值的接近程度。
可译码度值的计算,采用下列方法。
可译码度通用公式:Vc= K/(S/2n)。
用 V₁ 代替公式中的 Vc:V₁= K/(S/2n)。
其 中 :K—— 测量值与参考阀值之间的最小差异;
n—— 11 (每个字符的模块数);
S— 字符的总宽度。
计 算V₂:
style="width:4.41336in;height:0.9801in" />
其中:M—— 字符中条的模块数;
S— 字符的总宽度;
style="width:5.63993in" />class="anchor">GB/T 15425—2014
Wh— 字符中条(深色条)的宽度总和;
ABS—— 表示取后面括号中数的绝对值。
Vc 取 V₁ 和 V。中的小者。
注:终止符包括一个附加的终止条,为了测量其可译码度,终止符需要检测两次,第一次使用从左至右的6个单元,
第二次使用从右至左的6个单元。对于一个标准的条码字符来说,两种6个单元的组合的宽度是相同的。
根据GB/T 18348,GS1-128条码中指定的实测最小空白区尺寸为10Z,
左、右侧空白区的每次扫描
的评级应按如下规则:
空白区≥10Z
空白区\<10Z
4
0
级 (A);
级 (F)。
GS1-128 条码符号的条高通常为32 mm(1.25 in)。
实际的符号高度应根据具体的应用要求确定。
GS1-128 条码符号的长度取决于编码的字符个数:
1个起始符 |
|
---|---|
FNC1 |
|
1个符号校验字符 |
|
1个终止符 |
|
N 个条码字符 | N×11 个模块 |
共计: (11N+46) 个模块
其中N
为符号中条码字符的个数,包括含在数据中的辅助字符(切换字符和转换字符)。
一个模块等于符号中的X 尺寸。
字符集 C 允许在一个条码字符中表示2位数字,因此,使用字符集 C
对数字进行编码,是表示其他
字符密度的两倍。
符号两侧的空白区是必须的,其最小宽度均为10X。
包括空白区在内的符号的总长度为:(11N+66)X。
决定GS1-128
条码的符号长度的参数有两个:物理长度取决于所编码的字符数和所使用的模块宽
度(X 的尺寸),字符数包括辅助字符。
GS1-128 条码符号最大长度须符合以下两个要求:
· 包括空白区在内,最大物理长度不能超过165 mm(6.5 in);
· 可编码的最大数据字符数为48,其中包括应用标识符和作为分隔符适用的FNC1
字符,但不
包括辅助字符和校验符。
GB/T 15425—2014
与条码对应的供人识别字符通常放在条码符号的下部或上部。校验符不是数据的一部分,不在供
人识别字符的格式中显示。
在GS1-128
条码符号中没有说明供人识别字符的确切位置和表示它们所使用的字体,但推荐选用
GB/T 12508 中规定的 OCR-B
字符集,字符应清晰易读,与条码有明确的联系,且不能占用空白区。
应将供人识别字符中的应用标识符用圆括号扩起来,以明显区别于其他数据。
注:圆括号不是数据的一部分,且不在条码符号中编码。
用符号等级的形式评价符号质量,其参数的定义按照GB/T 18348
的规定。该等级包括等级水平、
测量孔径以及用于测量的光的波长。 GS1-128 条码符号等级要求见表3。
表 3 GS1-128 条码符号等级要求
|
|
---|---|
|
|
|
|
|
|
06和10 ——测量孔径参考号;
|
GS1-128 条码符号被识读,识读器中应设定以"]C1"
为前缀码的数据。起始符、终止符、功能字符、
切换字符和转换字符以及校验符不包括在传送的数据中。
GS1-128 条码符号在传送数据时按以下描述进行,参见 GB/T 18347—2001
的附录 B:
FNC1 字符出现在第3个或后面的其他字符位置时,传送为 ASCII 字符29(GS);
当 FNC1
字符出现在第1位置时,指示在码制标识符中的变数值1,但不在传送的信息中表示。
6 GS1-128 条码字符串编码/译码规则
6.1 使用应用标识符和链接的 GS1-128 条码基本结构
6.1.1 GS1-128 条码符号的基本结构(不包括空白区)
所有使用GS1 应用标识符的 GS1
条码都拥有特定的符号字符,以表示该条码是按照GS1 应用标
识规则进行编码的。 GS1-128 条码在紧跟起始符后的位置上使用 FNC1
字符,在全球范围内这一双字
符起始图形仅供 GS1 系统使用。这样可以将 GS1-128 条码与128条码区分开来。
GB/T 15425—2014
style="width:8.34028in;height:3.47361in" />
图 6 GS1-128 条码符号结构
所有使用GS1 应用标识符的GS1
条码允许多个单元数据串编码在一个条码符号中,这种编码方式
称为链接。链接的编码方式比分别对每个字符串进行编码节省空间,因为只使用一次符号控制字符。
同时,
一次扫描也比多次扫描的准确性更高,不同的元素串可以以一个完整的字符串供条码扫描器中传
送,具体参照图6。
对于从链接的条码符号中传送的不同字符串需要进行分析和加工,为简化操作并缩减符号的长度,
对一些字符串的长度进行了预先的设定(见表4)。表4中没有出现的字符串如果不是处于符号的最后
(校验符之前)时,必须在其后紧跟一个 FNC1
字符,用来标识字符串的边界并与后面的字符串区分
开来。
表4包含了所有已被预定义长度,并且不需要分隔符的应用标识符,具体规定见
GB/T 16986。
表 4 预定义长度指示符表
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表4所列的字符数是限定的字符长度,并且永远不变。括号中的数字是预留的尚未分配的应用标
识符。
style="width:3.66665in;height:2.0933in" />GB/T 15425—2014
应用GS1-128
条码字符时,可以将多个字符串链接起来。不变的预定义长度(字符数)说明了与
表4这前2位应用标识符有关的字符串的总长度(包括应用标识符)。应用标识符前2位没有列在表4
中的数据,即使其应用标识符说明的数据是定长的,也要视为可变长度的数据。
构造一个由预定义长度的应用标识符链接的字符串时,不需使用数据分隔字符,每个字符串后紧跟
下一个应用标识符,最后是校验符及终止符。
示例:将GS1 全球贸易项目标识代码(GTIN)95012345678903 与净重4
kg(见图7、图8)链接就不需要使用数据分
隔字符。从表4中可见:
01预定义字符串长度为16位。
GTIN 95012345678903
style="width:5.00666in;height:2.01344in" />
图 7 GTIN 与净重的分别表示
GTIN 95012345678903+净重4.00 kg
style="width:9.6867in;height:2.82656in" />
图 8 GTIN 与净重的链接表示
对于可变长度字符串的链接(指所有应用标识符的前2位不包含在表4中的情况),需要使用数据
分隔字符。数据分隔符使用 FNC1 字符。 FNC1
紧跟在可变长度数据串最后一个字符的后面,FNC1
后紧跟下一个字符串的应用标识符。如果字符串为编码的最后部分,则其后不用FNC1
分隔符,而是紧
跟校验符和终止符。
示例:
将单价(例如,365)与批号(例如,123456)(见图9、图10)链接时,需要在每个计量单位的价格后面使用数据分
隔字符。
GB/T 15425—2014
单价365
style="width:3.99328in;height:2.23322in" />
批号123456
style="width:4.05999in;height:2.29328in" />
图 9 每个计量单位的价格与批号的分别表示
单价365+批号123456
style="width:6.44673in;height:2.01344in" />
图10 每个计量单位的价格与批号的链接表示
6.2.3 预定义长度和可变长度字符串
当预定义长度字符串与其他字符串混合链接时,建议将预定义长度字符串放在可变长度字符串的
前面,可以减少链接所需的条码字符。
在译码的数据串中分隔字符以\<GS>(GB/T1988 七位编码字符集,ASCII
字符29)出现,所有的
非预定义字符串后面都要跟一个 FNC1 分隔符,但在以GS1-128
条码符号表示的最后一个字符串后面
不需要FNC1 字符。
6.4 ITF-14 与 GS1-128 条码及其他码制的混合使用
EAN/UCC-14 编码可以用ITF-14 条码表示,也可以用GS1-128
条码表示。当要表示全球贸易项 目标识代码的附加信息时,应使用GS1-128
条码。在这种情况下,GTIN 可以用ITF-14 或 GS1 系统的
其他码制表示,而附加的数据应使用GS1-128 条码表示。
作为表示辅助信息的 GS1-128 条码(辅助条码)的首选位置应与包含 GTIN、SSCC
或其他 GS1 代
码的独立条码(主条码)在同一水平线上,并且辅助条码应在不影响主条码的空白区的前缀下尽量靠近
主条码。
辅助条码应与主条码的方向一致。
链接包含GTIN、SSCC 或 GS1
其他代码的条码符号的位置应遵守单个条码符号推荐的位置。
商品条码 GS1-128 条码具体的放置位置按照GB/T14257 的相关要求。
GB/T 15425—2014
(资料性附录)
GS1-128 条码符号长度最小的字符集选择及应用示例
A.1 一般要求
在 GS1-128
条码符号(或其他128条码)中,通过使用不同的起始、切换和转换字符的组合,可以对
相同的数据有不同的表示。
将以下规则置于打印机控制软件中,可以使给定的数据符号的条码字符数最少(符号宽度最小)。
A.2 起始符的选择
起始符的选择一般遵循以下原则:
a) 如果数据以4位或4位以上的数字型数据符开始,则使用起始符 C;
b) 如果数据中在小写字母字符之前出现 ASCII 控制字符(如 NUL),
则使用起始符 A;
c) 其他情况,使用起始符 B;
A.3 如果使用起始符 C, 并且数字个数为奇数,则在最后一个数字前插入字符集 A
或字符集 B。 具 体
使用字符集 A 或字符集 B, 参照 A.2 b)和 A.2 c)。
A.4 如果在字符集 A 或字符集 B 中同时出现4位或4位以上的数字字符:
a) 如果数字型数据字符的个数为偶数,则在第一个数字之前插入 CODEC
字符将字符集转换为 字符集 C。
b) 如果数字型数据字符的个数为奇数,则在第一个数字之后插入CODEC
字符将字符集转换为 字符集 C。
A.5 当使用字符集 B,并且数据中出现 ASCI 控制字符时:
a)
如果在该控制字符之后,在另一个控制字符之前出现一个小写字母字符,则在该控制字符之前
插入转换字符;
b) 否则,在控制字符之前插入 CODE A 将字符集转换为字符集 A。
A.6 当使用字符集 A, 并且数据中出现小写字母字符时:
a)
如果在该小写字母字符之后,在另一个小写字母字符之前出现一个控制字符,则在该小写字母
字符之前插入转换字符;
b) 否则,在小写字母字符之前插入 CODEB 将字符集转换为字符集 B。
A.7 如果在字符集 C 中出现一个非数字字符,则在该非数字字符之前插入
CODE A 或 CODE B,具 体
应用参照 A.2 b)和 A.2 c)。
注1: 在以上规则中,"小写字母"的含义为字符集 B
中字符值为64~95(ASCII 值为96~127)的字符。即所有的小
写字母字符和字符"’,{, \|,},~,DEL"。"控制字符"的含义为字符集 A
中字符值为64~95(ASCII 值为00~ 31)的字符。
注2: 如果 FNC1
出现在起始符之后的第1个位置或在数字字段中的第奇数个位置时,将 FNC1
视为2位,以确定 合适的字符集。
A.8 应用实例
图 A.1 为只考虑"4位或4位以上的数字型数据使用CODEC", 而未考虑 A.3
中数字型数据字符
GB/T 15425—2014
的个数奇偶性的情况,符号长度未达到最小的应用示例,造成字符串多一个条码字符。
style="width:7.65332in;height:1.40008in" />
(10)001135(21)013037001(240)00008744
图 A.1 符号长度未能最小应用示例
表 A.1 为 图 A.1 对应的条码数据结构。
表 A.1 图 A.1 的条码数据结构
|
|
---|---|
|
|
|
|
图 A.2 为考虑了A.4b), 符合符号长度最小规则的应用示例。表 A.2 为 图 A.2
对应的条码数据
结构 。
style="width:7.42661in;height:1.5466in" />
(10)001135(21)013037001(240)00008744
图 A.2 符号长度最小应用示例
表 A.2 对应的条码数据结构
|
|
---|---|
|
|
|
|
|
|
GB/T 15425—2014
(资料性附录)
条码字符值与 ASCII 值的关系
条码字符值(S) 与 ASCII 值之间的转换关系如下:
字符集 A: 如果 S≤63, 则 ASCI 值 =S+32;
如果64≤S≤95, 则 ASCI 值 =S-64。
字符集 B:如果 S≤95, 则 ASCI 值 =S+32。
其对应关系见表1。
GB/T 15425—2014
(规范性附录)
GS1-128 条码符号校验字符值的计算方法
GS1-128 条码符号校验字符按下列方法计算:
1) 查表1得到字符的值。
2) 给每个条码字符位置分配一个权数。起始符和 FNC1
字符的权数均为1,然后,在起始符、 FNC1
字符后面从左至右位置的权数依次为2,3,4,5, ……,n,
这些字符中不包括校验字符本 身。 n 表示除起始符、FNC1
字符、终止符和校验字符以外的所有标识数据和特殊信息的字 符数。
3) 将每个字符的值乘以其相应的权。
4) 将第3步所得的结果求和。
5) 将第4步的求和结果除以103。
6) 第5步所得的余数为符号校验字符的值。
示例:计算数据"AIM1234" 校验字符值的步骤参见表C.1。
表 C.1 计 算 "AIM1234" 的校验字符的步骤
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|||||||
|
|
style="width:3.09994in" />GB/T 15425—2014
(资料性附录)
GS1-128 条码符号的处理 基本逻辑
准确分析扫描器输出的全部字符串的流程图D.1 如下:
style="width:9.27999in;height:9.65998in" />从扫描器传送的
整个字符号r
以[C1 开始?
NO
YES
去掉符号标识符]C1
不是GS1-128
条码符号
字符串结尾?
No
前2位是否在 预定义表中?
No
前2位=23?
NO
字符串包含\<GS>?
No
将剩余字符中 放入级冲区
YES
YES
YES
YES
结束操作
将字符串中固定数世
的字符放入缓冲区
将字符串中2d-4个字
符放入缓冲区 (d 一第
三个字符的值)
将\<GS> 之前的字符
放入缓冲区
将缓冲区数据转入
下一步检测程序
出错程序
缓冲区包
含\<GS>?
N)
冲区包含结
尾的字符申?
NO
下一位置 YES
\<GS>?,
在字符申
中前进一
个位置
下一位置
为\<GS>? YES
NO
图 D.1 流 程 图
更多内容 可以 GB-T 15425-2014 商品条码 128条码. 进一步学习